package org.dromara.system.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.system.domain.SysUserMachine;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 机具信息视图对象 sys_user_machine
 *
 * @author Lion Li
 * @date 2025-07-08
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysUserMachine.class)
public class SysUserMachineVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long id;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long userId;

    /**
     *
     */
    @ExcelProperty(value = "机具编号")
    @NotNull(message = "用户类型不能为空", groups = AddGroup.class)
    private String sn;

    @ExcelProperty(value = "商户号")
    private String merchantCode;

    @ExcelProperty(value = "商户名字")
    private String merchantName;

    @ExcelProperty(value = "流量费返现次数")
    private Integer simCount;

    @ExcelProperty(value = "交易金额")
    private Long machinePolicyId;

    /**
     * 交易金额
     */
    @ExcelProperty(value = "交易金额")
    private BigDecimal dealSum;

    private Long brandId;

    private Long lineId;

    private Long MachineModelId;

    private Integer isStageBack;

    //是否达标返现
    private Integer isCompleteBack;

    //押金
    private BigDecimal deposit;

    private Long bindUserId;

    private Date bindTime;

    private  BigDecimal  dealCashBackSumTag;

    private  Integer dealCashBackCount;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /*
     * 绑定账号
     * */
    private String bindUserName;

    /*
     * 机具政策名称
     * */
    private String policyName;

    /*
     *品牌名称
     * */
    private String brandName;
    /*
     *产品线名称
     * */
    private String lineName;

    /*
     *模型名称
     * */
    private String modelName;


    private Date createTime;

}
